<?xml version='1.0' encoding='iso-8859-1'?>
<!doctype html public '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3c.org/1999/xhtml' lang='en-us'>
	<head>
		<title>
			getargv.c
			</title>
		<meta http-equiv='content-type' content='text/html;iso-8859-1'/>
		<meta name='generator' content='motley-tools 1.9.4 13:40:33 Feb 18 2015'/>
		<meta name='author' content='cmaier@cmassoc.net'/>
		<meta name='robots' content='noindex,nofollow'/>
		<link href='toolkit.css' rel='stylesheet' type='text/css'/>
		</head>
	<body>
		<div class='headerlink'>
			[<a href='FragmentHeader.c.html' title=' FragmentHeader.c '>PREV</a>]
			[<a href='toolkit.html' title=' Index '>HOME</a>]
			[<a href='gethwaddr.c.html' title=' gethwaddr.c '>NEXT</a>]
			</div>
<pre>
/*====================================================================*
 *
 *   Copyright (c) 2012 Qualcomm Atheros Inc.
 *
 *   Permission to use, copy, modify, and/or distribute this software
 *   for any purpose with or without fee is hereby granted, provided
 *   that the above copyright notice and this permission notice appear
 *   in all copies.
 *
 *   THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL
 *   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
 *   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
 *   THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
 *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
 *   LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
 *   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 *   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 *
 *--------------------------------------------------------------------*/

/*====================================================================*
 *
 *   signed getargv (signed argc, char const * argv [])
 *
 *   symbol.h
 *
 *   read one line from stdin; fill argv [] with fields from that
 *   line; return the number of fields found; ignore blank lines
 *   and script style comment lines; this implementation inserts
 *   a program name at argv [0] to emulate a true argv [];
 *
 *--------------------------------------------------------------------*/

#ifndef GETARGV_SOURCE
#define GETARGV_SOURCE

#include &lt;stdio.h&gt;
#include &lt;ctype.h&gt;
#include &lt;memory.h&gt;

#include &quot;../tools/symbol.h&quot;
#include &quot;../tools/chars.h&quot;

signed getargv (signed argc, char const * argv [])

{
	extern char const * program_name;
	static char string [1024];
	char const ** argp = argv;
	char * sp = string;
	signed c = getc (stdin);
	memset (string, 0, sizeof (string));
	memset ((char **)(argv), 0, argc * sizeof (char const *));
	while (nobreak (c))
	{
		if (isspace (c))
		{
			do
			{
				c = getc (stdin);
			}
			while (isspace (c));
		}
		if (c == '#')
		{
			do
			{
				c = getc (stdin);
			}
			while (nobreak (c));
			c = getc (stdin);
			continue;
		}
		*argp++ = program_name;
		*argp++ = sp = string;
		while (nobreak (c))
		{
			if (c == '#')
			{
				do
				{
					c = getc (stdin);
				}
				while (nobreak (c));
				break;
			}
			if (isblank (c))
			{
				c = (char)(0);
				*argp = sp + 1;
			}
			else if (sp == *argp)
			{
				if ((signed)(argp - argv) &lt; argc)
				{
					argp++;
				}
			}
			*sp++ = (char)(c);
			c = getc (stdin);
		}
		*argp = (char const *)(0);
		*sp = (char)(0);
	}
	return ((unsigned)(argp - argv));
}

#endif


</pre>
		<div class='footerlink'>
			[<a href='FragmentHeader.c.html' title=' FragmentHeader.c '>PREV</a>]
			[<a href='toolkit.html' title=' Index '>HOME</a>]
			[<a href='gethwaddr.c.html' title=' gethwaddr.c '>NEXT</a>]
			</div>
		</body>
	</html>
